Mybatis配置之属性优化理解【transactionManager、dataSource、properties】

您所在的位置:网站首页 mybatis 类型转换配置 Mybatis配置之属性优化理解【transactionManager、dataSource、properties】

Mybatis配置之属性优化理解【transactionManager、dataSource、properties】

2023-04-14 19:59| 来源: 网络整理| 查看: 265

一.Mybatis配置之属性优化 1.1 配置解析

核心配置文件:

mybatis-confing.xml

配置如下:

configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) transactionManager(事务管理器) dataSource(数据源) databaseIdProvider(数据库厂商标识) mappers(映射器)

新建项目,新建配置文件:mybatis-confing.xml

1.2 默认配置环境

主要:

1.记住默认的事务管理器:JDBC

2.默认的数据库连接池:POOLED

3.会更改配置环境

MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做。

不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。

我们可以写多套环境在environments里,但是只能启用一个,在environments的default="XX"代表启用哪套环境。

案例如下:

1.2.1 事务管理器(transactionManager)了解即可。 JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域。 MANAGED – 这个配置几乎没做什么。它从不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接。然而一些容器并不希望连接被关闭,因此需要将 closeConnection 属性设置为 false 来阻止默认的关闭行为。

注意: 如果你正在使用 Spring + MyBatis,则没有必要配置事务管理器,因为 Spring 模块会使用自带的管理器来覆盖前面的配置。

1.2.2 数据源(dataSource)

数据库连接池:用完可以回收。

默认连接池为:POOLED

Mybatis其实有三种内建的数据源类型(也就是 type="[UNPOOLED|POOLED|JNDI]"):

UNPOOLED– 这个数据源的实现会每次请求时打开和关闭连接。

POOLED– 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间。

JNDI – 这个数据源实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的数据源引用。

1.3 属性(properties)

这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。

可以通过 properties 属性来实现引用配置文件。我们创建一个db.properties。

里面代码如下:

driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8 username=root password=123456

在 xml 中,所的标签都可以规定其顺序

在mybatis-config.xml里引入外部配置文件:

更改数据源dataSource引入方式:

运行结果:

image-20230328104957731



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3